<?php
/**
 * Return RAIL tree as JSON string.
 *
 * PHP versions 5
 *
 * Copyright (C)
 * This program is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation. Either version 2 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. Without even the implied warranty
 * of ERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program. Ff not, write to the Free Software
 * Fundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
 *
 * Copyright (C) 2006-2007
 *
 * @author Bastian Schröder <bs@chemanet.de>
 * @version 2008-04-10
 * @package railadmin
 */

function ajax_call( $ajaxBridge ) {
	global $rail;

	$ajaxBridge->append( array(
		'label' => 'name',
		'identifier' => 'name',
		'items' => rail_tree( $rail->get_root() )
	));
}


/* ------------------------------------ functions ------------------------------------- */
// recursive build RAIL tree array
function rail_tree ( $pRailObject ) {
	$return_array = array();

	foreach( $pRailObject->get_inventory() as $object ){
		$tmp = array(
			'name' => $object->get_id().' : '.$object->get_name().' '.$object->get_type(),
			'type' => $object->get_type(),
		);
		if( $object->is_readable() && $object->count_inventory() > 0 ) $tmp['children'] = rail_tree($object);

		$return_array[] = $tmp;
	}

	return $return_array;
}

?>